package mapper;

import cn.itcast.pojo.Order;
import cn.itcast.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMaper {
    /**
     * 根据id获取用户信息
     *
     * @param id
     * @return
     */
    public User queryUserById(Long id);

    /**
     * 查询所有用户
     *
     * @return
     */
    public List<User> queryUserList();

    /**
     * 新增用户
     *
     * @param user
     */
    public void addUser(User user);

    /**
     * 更新用户信息
     *
     * @param user
     */
    public void updateUser(User user);

    /**
     * 根据id删除用户信息
     *
     * @param id
     */
    public void deleteUserById(Long id);

    List<User> queryUserListByTableName(@Param("tableName") String tableName);

    User login(@Param("userName") String userName, @Param("password") String password);

    User loginMap(Map<String, String> map);

    User loginUser(User user);

    List<User> Userlike(@Param("userName") String name);

    List<User> queryListlikeUserName(@Param("userName") String name);

    List<User> queryUserLikeUserName(@Param("userName") String name);

    List<User> queryUserListByUserNameOrAge(@Param("userName") String userName, @Param("age") String age);

    List<User> queryUserListByUserNameAndAge(@Param("userName") String userName, @Param("age") Integer age);

    void updateUserSelective(User user);

    List<User> queryUserListByIds(@Param("ids") Long[] id);

}
